import request from '@/config/axios/appRequest'

export interface Property {
  propertyId?: number // 属性编号
  propertyName?: string // 属性名称
  valueId?: number // 属性值编号
  valueName?: string // 属性值名称
}

export interface Sku {
  status?: boolean
  sort?: number | string
  skuId?: number // 商品 SKU 编号
  spuName?: string // 商品  名称
  properties?: Property[] // 属性数组
  price?: number | string | undefined // 商品价格 零售价
  marketPrice?: number | string // 市场价 (划线价)
  costPrice?: number | string // 成本价
  barCode?: string // 商品条码
  picUrl?: string // 图片地址
  stock?: number | string | null // 库存
  weight?: number // 商品重量，单位：kg 千克
  volume?: number // 商品体积，单位：m^3 平米
  salesCount?: number // 商品销量
  skuType?: number //商品属性
  skuTypeName?: string //商品属性名称
  usableTimes?: number | undefined //可用次数  普通|卡项|可用次数 以单次用量为标准，算出此商品理论可用次数。例如商品50g，单次用量5g，则理论使用次数为10次
  merchantCode?: string //商家编码
  unit?: string //商品单位
  lowPrice?: number | string //最低价
  giveGoods?: EmptyArrayType //关联商品
  isDebtSales?: boolean //是否欠款销售
  isGive?: boolean //是否支持赠送
  goods_num?: number //购买数量
}
// 获得 Spu 列表
export const getSpuPage = (params: PageParam) => {
  return request.get({ url: '/product/spu/page', params })
}
// 获得商品 Spu
export const getSpu = (spuId: number) => {
  return request.get({ url: `/product/spu/get-detail?spuId=${spuId}` })
}
// 获得商品 SPU 视图分页:换卡服务(spuType=2), 规则关联商品spuType=1~7(可以为空)
export const getSpuPageList = (params: PageParam) => {
  return request.get({ url: '/product/spu/get-spu-page', params })
}
//动态表头 暂时不用
export const getSkuPageList = (params: PageParam) => {
  return request.get({ url: '/product/sku/get-sku-page', params })
}

//固定表头
export const getSkuPageList2 = (params: PageParam) => {
  return request.get({ url: '/product/sku/get-sku-page2', params })
}
//获得活动关联商品列表(仅活动)
export const getSkuActivity = (params: PageParam) => {
  return request.get({ url: '/product/sku/get-general-sku-list-by-activity-id', params })
}
